package com.example.limit.service;

import java.util.concurrent.TimeUnit;

/**
 * @author renyitong
 * @version 1.0.0
 * @createTime 2025年07月16日
 * @Description
 */
public interface IRateLimiter {

    /**
     * 尝试获取许可
     * @param module 模块名称
     * @return 是否获取成功
     */
    boolean tryAcquire(String module);

    /**
     * 尝试获取许可（带超时）
     */
    boolean tryAcquire(String module, long timeout, TimeUnit unit);

}
